package uk.ac.manchester.cs.haphan.modbench;

import com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory;
import org.semanticweb.HermiT.Reasoner;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.reasoner.OWLReasoner;
import org.semanticweb.owlapi.reasoner.OWLReasonerFactory;
import org.semanticweb.owlapi.reasoner.SimpleConfiguration;
import uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasonerFactory;

public class ReasonerManager {

    private OWLOntologyManager manager;
    private SimpleConfiguration config;
    

    public ReasonerManager() {
       
    }

    public OWLReasoner getFactPlusPlus(OWLOntology ontology) {
        OWLReasonerFactory rf = new FaCTPlusPlusReasonerFactory();
        OWLReasoner reasoner = rf.createReasoner(ontology);
        return reasoner;
    }

    public OWLReasoner getHermiT(OWLOntology ontology){
        OWLReasoner reasoner = new Reasoner(ontology);
        return reasoner;
    }

    public OWLReasoner getPellet(OWLOntology ontology){
        OWLReasonerFactory rf = new PelletReasonerFactory();
        OWLReasoner reasoner = rf.createReasoner(ontology);
        return reasoner;
    }
}